1. Technical Field
The present invention relates generally to Internet Telephony communication systems; and more particularly to a method and apparatus for distributing subscriber load among a plurality of Gatekeepers of the Internet Telephony communication system by selectively assigning subscriber load to the plurality of Gatekeepers during the discovery and registration process.
2. Related Art
Internet Protocol (IP) Telephony systems have been rapidly evolving over the past few years. In an IP telephony system, calls are routed through a packet switched Internet Protocol network (IP network). This compares to call routing in a circuit switched system, such as the Public Switched Telephone System (PSTN), in which calls are routed over dedicated circuits. In a circuit switched network, digitized information making up a call is sent in a continuous stream (when active) from a caller to a called party, and vice versa. However, in a packet switched IP Telephony system, each segment of the call is converted into IP packets, routed through the IP network, reconstructed upon exiting the IP network and then delivered to a called party.
With IP packet switching, as opposed to circuit switching, network bandwidth usage for each call may be reduced because a dedicated circuit is not created for each call. However, as is generally known, IP telephony systems networks cannot presently provide the Quality of Service (QoS) that is provided by circuit switched networks. Thus, IP telephony has yet to obtain the popularity of circuit switched telephony for voice communications which require a minimal level of QoS. Nonetheless, IP telephony systems yield acceptable results in some situations, particularly those situations in which PSTN tariffs are great, e.g., international calls. An international call placed and serviced by an IP telephony system can oftentimes be made for the cost of a local phone call.
In initiating a call in an IP telephony system, a calling endpoint couples to the IP network via a source Gateway, oftentimes coupling to the source Gateway via the PSTN or another network, e.g., Local Area Network or Wide Area Network. The source Gateway then interfaces with a Gatekeeper to set up the call. The Gatekeeper sets up the call with a called endpoint, usually via a destination Gateway. The call is then routed from the caller, through the source Gateway, via the IP network to the destination Gateway, and from the destination Gateway to the called party. From the destination Gateway to the called party, the call may be routed via the PSTN. The source and destination Gateways convert the call between IP based data packets that are routed across the IP network and the circuit switched counterparts that are received from, and delivered to the endpoints via the PSTN.
Service providers install the infrastructure required to provide the IP telephony service. In providing the service, the service providers generally route all calls through their Gatekeepers. By routing the calls through their Gatekeepers, the service provider monitors usage for billing purposes, alters IP network routes to compensate for outages and routes calls to various destination Gateways to balance load upon the destination Gateways.
In a typical IP telephony system, the service provider initially installs and maintains a single Gatekeeper that services all its IP telephony calls. With the many varied tasks required of the Gatekeeper, however, the Gatekeeper tends to become overloaded, thereby slowing its operation and degrading the service it provides. When such overloading occurs, the service provider deploys additional Gatekeepers within the system to handle the additional load.
With multiple Gatekeepers, it is desirable to distribute load among the Gatekeepers. Distribution of load among Gatekeepers is generally performed during subscriber registration, wherein a subscriber to the IP telephony system is assigned to a particular Gatekeeper. Under the H.323 Recommendation, for example, a component called Registration/Admission/Status (RAS) assigns each subscriber to the system to a particular Gatekeeper during a Gatekeeper discovery and registration process. In such a process, the subscriber is generally provided with the domain name of a first assigned Gatekeeper and may also be provided with the name of a second assigned Gatekeeper. The subscriber first seeks to register with the first assigned Gatekeeper. However, if the first assigned Gatekeeper refuses the subscriber""s Gatekeeper Registration request, the subscriber attempts to register with the second assigned Gatekeeper. Upon registration, the assigned Gatekeeper stores the subscriber""s registration information and services subsequent calls for the subscriber.
When a service provider has one Gatekeeper, static assignment simply places all load on the Gatekeeper. However, when additional Gatekeepers are deployed, loading is not equal among the then deployed Gatekeepers and load equalization requires de-registration of subscribers and subsequent re-registration of the subscribers, a burdensome process. Further, when many Gatekeepers are deployed, static assignment functions poorly to distribute subscriber load among the many Gatekeepers.
Thus, there is a need in the art for an IP telephony system in which subscriber load may be distributed among multiple Gatekeepers in a fashion that is seamless to the subscribers of the system, so that Gatekeepers may be added and removed as required without introducing additional overhead to the subscribers and so that the additions and removals may be made without disrupting service.
Thus, to overcome the shortcomings of the prior systems, among other shortcomings, an Internet Protocol (IP) telephony system constructed according to the present invention manages Gatekeeper subscriber load by partitioning Gatekeepers and by distributing subscriber load during the Gatekeeper discovery and registration process. The IP telephony system includes a plurality of Gatekeepers, each of which may include a Registration Load Management Unit (RLMU). A RLMU may also be resident upon one or more Domain Name Servers (DNSs) servicing the IP network(s) over which the IP telephony system operates so that the RLMU may user the DNS to assist in load distribution.
In a first embodiment of the present invention, a plurality of Gatekeepers are organized without a hierarchy structure. In such case, the plurality of Gatekeepers are made up of a plurality of Gatekeeper service nodes and a plurality of Gatekeeper Database nodes. The Gatekeeper service nodes provide the Registration, Admission, Status, Location, Call Set Up and other operating functions of the Gatekeeper while the plurality of Gatekeeper Database nodes store subscriber information. Each of the Gatekeeper service nodes has access to each of the plurality of Gatekeeper Database nodes.
With the functions of the Gatekeepers divided in this manner, when the Gatekeepers as a whole cannot handle the operating functions required for the subscriber set, an additional Gatekeeper service node may be added. Likewise, when the Gatekeeper Database nodes become filled with subscriber data, another Gatekeeper Database node may be added. Thus, the structure provides for full scalability and seamless scalability as viewed by the subscriber.
In the first embodiment, subscriber load is assigned to the plurality of Gatekeeper service nodes by the RLMU located in the DNS. Each of the plurality of Gatekeeper service nodes includes a corresponding A record in the DNS with its RAS TSAP. Using a load distribution algorithm, such as a round-robin technique, the RLMU in the DNS distributes subscriber load among the plurality of Gatekeeper service nodes when the subscriber accesses the DNS seeking the RAS TSAP of its Gatekeeper. When additional Gatekeeper service nodes are introduced into the IP telephony system, additional entries are made in the DNS for the additional Gatekeeper service nodes. Further, when Gatekeeper service nodes are removed from the IP telephony system, corresponding DNS entries must also be removed from the DNS.
In a second embodiment of the present invention, a plurality of Gatekeepers are organized in a hierarchy structure with a Root Gatekeeper at the top of the hierarchy and a plurality of Gatekeepers residing below the Root Gatekeeper in single or multiple levels of hierarchy. All Registration requests are directed to the Root Gatekeeper. Upon receipt of a Registration request, a RLMU in the Root Gatekeeper selects one of the Gatekeepers it manages to service the subscriber. Each of the plurality of Gatekeepers provides both operating and database functions. Thus, each of the Gatekeepers stores its own registration data. The Root Gatekeeper tracks the assignment of subscribers to Gatekeepers.
With the functions of the Gatekeepers divided in this manner, when the Gatekeepers as a whole cannot handle the operating functions required for the subscriber set, additional Gatekeepers may be added. Because all Registration, Location and Admission Requests are directed to the Root Gatekeeper, scaling is easily achieved by adding or removing Gatekeepers. Thus, the structure provides for seamless scalability as viewed from the subscriber and the DNS.
Moreover, other aspects of the present invention will become apparent with further reference to the drawings and specification which follow.